home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / encodings / utf_16.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  111 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import codecs
  5. import sys
  6. encode = codecs.utf_16_encode
  7.  
  8. def decode(input, errors = 'strict'):
  9.     return codecs.utf_16_decode(input, errors, True)
  10.  
  11.  
  12. class IncrementalEncoder(codecs.IncrementalEncoder):
  13.     
  14.     def __init__(self, errors = 'strict'):
  15.         codecs.IncrementalEncoder.__init__(self, errors)
  16.         self.encoder = None
  17.  
  18.     
  19.     def encode(self, input, final = False):
  20.         if self.encoder is None:
  21.             result = codecs.utf_16_encode(input, self.errors)[0]
  22.             if sys.byteorder == 'little':
  23.                 self.encoder = codecs.utf_16_le_encode
  24.             else:
  25.                 self.encoder = codecs.utf_16_be_encode
  26.             return result
  27.         
  28.         return self.encoder(input, self.errors)[0]
  29.  
  30.     
  31.     def reset(self):
  32.         codecs.IncrementalEncoder.reset(self)
  33.         self.encoder = None
  34.  
  35.  
  36.  
  37. class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
  38.     
  39.     def __init__(self, errors = 'strict'):
  40.         codecs.BufferedIncrementalDecoder.__init__(self, errors)
  41.         self.decoder = None
  42.  
  43.     
  44.     def _buffer_decode(self, input, errors, final):
  45.         if self.decoder is None:
  46.             (output, consumed, byteorder) = codecs.utf_16_ex_decode(input, errors, 0, final)
  47.             if byteorder == -1:
  48.                 self.decoder = codecs.utf_16_le_decode
  49.             elif byteorder == 1:
  50.                 self.decoder = codecs.utf_16_be_decode
  51.             elif consumed >= 2:
  52.                 raise UnicodeError('UTF-16 stream does not start with BOM')
  53.             
  54.             return (output, consumed)
  55.         
  56.         return self.decoder(input, self.errors, final)
  57.  
  58.     
  59.     def reset(self):
  60.         codecs.BufferedIncrementalDecoder.reset(self)
  61.         self.decoder = None
  62.  
  63.  
  64.  
  65. class StreamWriter(codecs.StreamWriter):
  66.     
  67.     def __init__(self, stream, errors = 'strict'):
  68.         self.bom_written = False
  69.         codecs.StreamWriter.__init__(self, stream, errors)
  70.  
  71.     
  72.     def encode(self, input, errors = 'strict'):
  73.         self.bom_written = True
  74.         result = codecs.utf_16_encode(input, errors)
  75.         if sys.byteorder == 'little':
  76.             self.encode = codecs.utf_16_le_encode
  77.         else:
  78.             self.encode = codecs.utf_16_be_encode
  79.         return result
  80.  
  81.  
  82.  
  83. class StreamReader(codecs.StreamReader):
  84.     
  85.     def reset(self):
  86.         codecs.StreamReader.reset(self)
  87.         
  88.         try:
  89.             del self.decode
  90.         except AttributeError:
  91.             pass
  92.  
  93.  
  94.     
  95.     def decode(self, input, errors = 'strict'):
  96.         (object, consumed, byteorder) = codecs.utf_16_ex_decode(input, errors, 0, False)
  97.         if byteorder == -1:
  98.             self.decode = codecs.utf_16_le_decode
  99.         elif byteorder == 1:
  100.             self.decode = codecs.utf_16_be_decode
  101.         elif consumed >= 2:
  102.             raise UnicodeError, 'UTF-16 stream does not start with BOM'
  103.         
  104.         return (object, consumed)
  105.  
  106.  
  107.  
  108. def getregentry():
  109.     return codecs.CodecInfo(name = 'utf-16', encode = encode, decode = decode, incrementalencoder = IncrementalEncoder, incrementaldecoder = IncrementalDecoder, streamreader = StreamReader, streamwriter = StreamWriter)
  110.  
  111.